class Nodo {
	int ID;
	Nodo padre;
	Estado e;
	int profundidad;
	double valoracion;
	double heuristica;
	double costo;
	
	public Nodo(int iD, Nodo padre, Estado e, int profundidad, double valoracion, double heuristica, double costo) {
		super();
		ID = iD;
		this.padre = padre;
		this.e = e;
		this.profundidad = profundidad;
		this.valoracion = valoracion;
		this.heuristica = heuristica;
		this.costo = costo;
	}

	public double getHeuristica() {
		return heuristica;
	}

	public void setHeuristica(double heuristica) {
		this.heuristica = heuristica;
	}

	public double getCosto() {
		return costo;
	}

	public void setCosto(double costo) {
		this.costo = costo;
	}

	public int getID() {
		return ID;
	}

	public void setID(int iD) {
		ID = iD;
	}

	public Nodo getPadre() {
		return padre;
	}

	public void setPadre(Nodo padre) {
		this.padre = padre;
	}

	public Estado getE() {
		return e;
	}

	public void setE(Estado e) {
		this.e = e;
	}

	public int getProfundidad() {
		return profundidad;
	}

	public void setProfundidad(int profundidad) {
		this.profundidad = profundidad;
	}

	public double getValoracion() {
		return valoracion;
	}

	public void setValoracion(double valoracion) {
		this.valoracion = valoracion;
	}
	
	public String toString() {
		String salida= "[Hoja: "+this.getE().getLugarGeografico().getNombre()+", X: "+this.getE().getLugarGeografico().getX()+", Y: "+this.getE().getLugarGeografico().getY()+"], Altitud: "+this.getE().getAltitud()+", viene de: \n"+this.getPadre();
		return salida;
	}
	
}